Лабораторная работа №7

операционные системы

Лисенков Е.Р.

Российский университет дружбы народов, Москва, Россия

Информация

Докладчик

Вводная часть

Цель работы

Ознакомление с файловой системой Linux, её структурой, именами и содержанием каталогов. Приобретение практических навыков по применению команд для работы с файлами и каталогами, по управлению процессами (и работами), по проверке использования диска и обслуживанию файловой системы.

Выполнение лабораторной работы

Выполнение лабораторной работы

1 часть

Копирование файла в текущем каталоге. Скопировать файл ~/abc1 в файл april и в файл may: (рис.1).

Продолжение

Копирование нескольких файлов в каталог. Скопировать файлы april и may в каталог monthly: (рис.2). (рис.3)

Продолжение

Продолжение

Копирование файлов в произвольном каталоге. Скопировать файл monthly/may в файл с именем june: (рис.4)

Продолжение

Копирование каталогов в текущем каталоге. Скопировать каталог monthly в каталог monthly.00: (рис.5).

Продолжение

Копирование каталогов в произвольном каталоге. Скопировать каталог monthly.00 в каталог /tmp (рис.6)

Продолжение

Переименование файлов в текущем каталоге. Изменить название файла april на july в домашнем каталоге: (рис. 7)

Продолжение

Перемещение файлов в другой каталог. Переместить файл july в каталог monthly.00: (рис.8).

Продолжение

Переименование каталогов в текущем каталоге. Переименовать каталог monthly.00 в monthly.01 (рис.9)

Продолжение

Перемещение каталога в другой каталог. Переместить каталог monthly.01в каталог reports: (рис. 10)

Продолжение

Переименование каталога, не являющегося текущим. Переименовать каталог reports/monthly.01 в reports/monthly: (рис. 11)

Продолжение

Требуется создать файл ~/may с правом выполнения для владельца. (рис. 12)

Продолжение

Требуется лишить владельца файла ~/may права на выполнение: (рис 13)

Продолжение

Требуется создать каталог monthly с запретом на чтение для членов группы и всех остальных пользователей: (рис. 14)

Продолжение

Требуется создать файл ~/abc1 с правом записи для членов группы: (рис. 15)

2 часть

Скопирую файл /usr/include/sys/io.h в домашний каталог и назовите его equipment.

Продолжение

В домашнем каталоге создам директорию ~/ski.plases. Переместите файл equipment в каталог ~/ski.plases. Переименуйте файл ~/ski.plases/equipment в ~/ski.plases/equiplist. (рис. 17)

Продолжение

Создайте в домашнем каталоге файл abc1 и скопируйте его в каталог ~/ski.plases, назовите его equiplist2. Создайте каталог с именем equipment в каталоге ~/ski.plases. Переместите файлы ~/ski.plases/equiplist и equiplist2 в каталог ~/ski.plases/equipment. (рис. 18)

Продолжение

Создайте и переместите каталог ~/newdir в каталог ~/ski.plases и назовите его plans. (рис. 19)

3 часть

Определите опции команды chmod, необходимые для того, чтобы присвоить перечис- ленным ниже файлам выделенные права доступа, считая, что в начале таких прав нет:

3.1. drwxr–r– … australia

3.2. drwx–x–x … play

3.3. -r-xr–r– … my_os

3.4. -rw-rw-r– … feathers

Продолжение

Продолжение

Продолжение

Продолжение

Продолжение

Продолжение

Продолжение

Проделаю приведённые ниже упражнения, записывая в отчёт по лабораторной работе используемые при этом команды:

4.1. Просмотрю содержимое файла /etc/password.

Продолжение

Продолжение

4.2. Скопирую файл ~/feathers в файл ~/file.old.

4.3. Изменю место файла файл ~/file.old в каталог ~/play.

Продолжение

4.4. Изменю место каталога ~/play в каталог ~/fun.

Продолжение

4.5. Изменю место каталога ~/fun в каталог ~/play и назову его games.

Продолжение

4.6. Лишите владельца файла ~/feathers права на чтение.

Продолжение

4.9. Дайте владельцу файла ~/feathers право на чтение.

Продолжение

4.10. Лишу владельца каталога ~/play права на выполнение.

4.11. Перейду в каталог ~/play. И увижу отказ

4.12. Дам владельцу каталога ~/play право на выполнение.

5 Часть

Прочитайте man по командам mount, fsck, mkfs, kill и кратко их охарактеризуйте, приведя примеры.

Продолжение

Выводы

Я усвоил материал и готов к дальнейшему изучению линукс!

Ответы на контрольные вопросы

Первый вопрос

Дайте характеристику каждой файловой системе, существующей на жёстком диске компьютера, на котором вы выполняли лабораторную работу. Ext2, Ext3, Ext4 или Extended Filesystem - это стандартная файловая система для Linux. Она была разработана еще для Minix. Она самая стабильная из всех существующих, кодовая база изменяется очень редко и эта файловая система содержит больше всего функций. Версия ext2 была разработана уже именно для Linux и получила много улучшений. В 2001 году вышла ext3, которая добавила еще больше стабильности благодаря использованию журналирования. В 2006 была выпущена версия ext4, которая используется во всех дистрибутивах Linux до сегодняшнего дня. В ней было внесено много улучшений, в том числе увеличен максимальный размер раздела до одного экзабайта.

Btrfs или B-Tree File System - это совершенно новая файловая система, которая сосредоточена на отказоустойчивости, легкости администрирования и восстановления данных. Файловая система объединяет в себе очень много новых интересных возможностей, таких как размещение на нескольких разделах, поддержка подтомов, изменение размера не лету, создание мгновенных снимков, а также высокая производительность. Но многими пользователями файловая система Btrfs считается нестабильной. Тем не менее, она уже используется как файловая система по умолчанию в OpenSUSE и SUSE Linux.

## Второй вопрос
Приведите общую структуру файловой системы и дайте характеристику каждой директории первого уровня этой структуры.

/ — root каталог. Содержит в себе всю иерархию системы;

/bin — здесь находятся двоичные исполняемые файлы. Основные общие команды, хранящиеся отдельно от других программ в системе (прим.: pwd, ls, cat, ps);

/boot — тут расположены файлы, используемые для загрузки системы (образ initrd, ядро vmlinuz);

/dev — в данной директории располагаются файлы устройств (драйверов). С помощью этих файлов можно взаимодействовать с устройствами. К примеру, если это жесткий диск, можно подключить его к файловой системе. В файл принтера же можно написать напрямую и отправить задание на печать;

/etc — в этой директории находятся файлы конфигураций программ. Эти файлы позволяют настраивать системы, сервисы, скрипты системных демонов;

/home — каталог, аналогичный каталогу Users в Windows. Содержит домашние каталоги учетных записей пользователей (кроме root). При создании нового пользователя здесь создается одноименный каталог с аналогичным именем и хранит личные файлы этого пользователя;

/lib — содержит системные библиотеки, с которыми работают программы и модули ядра;

/lost+found — содержит файлы, восстановленные после сбоя работы системы. Система проведет проверку после сбоя и найденные файлы можно будет посмотреть в данном каталоге;

/media — точка монтирования внешних носителей. Например, когда вы вставляете диск в дисковод, он будет автоматически смонтирован в директорию /media/cdrom;

/mnt — точка временного монтирования. Файловые системы подключаемых устройств обычно монтируются в этот каталог для временного использования;

/opt — тут расположены дополнительные (необязательные) приложения. Такие программы обычно не подчиняются принятой иерархии и хранят свои файлы в одном подкаталоге (бинарные, библиотеки, конфигурации);

/proc — содержит файлы, хранящие информацию о запущенных процессах и о состоянии ядра ОС;

/root — директория, которая содержит файлы и личные настройки суперпользователя;

/run — содержит файлы состояния приложений. Например, PID-файлы или UNIX-сокеты;

/sbin — аналогично /bin содержит бинарные файлы. Утилиты нужны для настройки и администрирования системы суперпользователем;

/srv — содержит файлы сервисов, предоставляемых сервером (прим. FTP или Apache HTTP);

/sys — содержит данные непосредственно о системе. Тут можно узнать информацию о ядре, драйверах и устройствах;

/tmp — содержит временные файлы. Данные файлы доступны всем пользователям на чтение и запись. Стоит отметить, что данный каталог очищается при перезагрузке;

/usr — содержит пользовательские приложения и утилиты второго уровня, используемые пользователями, а

не системой. Содержимое доступно только для чтения (кроме root). Каталог имеет вторичную иерархию и похож на корневой;

/var — содержит переменные файлы. Имеет подкаталоги, отвечающие за отдельные переменные. Например, логи будут храниться в /var/log, кэш в /var/cache, очереди заданий в /var/spool/ и так далее.

Третий вопрос

Какая операция должна быть выполнена, чтобы содержимое некоторой файловой системы было доступно операционной системе? Монтирование тома.

Четвёртый вопрос

Назовите основные причины нарушения целостности файловой системы. Как устранить повреждения файловой системы? Отсутствие синхронизации между образом файловой системы в памяти и ее данными на диске в случае аварийного останова может привести к появлению следующих ошибок:

Один блок адресуется несколькими mode (принадлежит нескольким файлам). Блок помечен как свободный, но в то же время занят (на него ссылается onode). Блок помечен как занятый, но в то же время свободен (ни один inode на него не ссылается). Неправильное число ссылок в inode (недостаток или избыток ссылающихся записей в каталогах). Несовпадение между размером файла и суммарным размером адресуемых inode блоков. Недопустимые адресуемые блоки (например, расположенные за пределами файловой системы). “Потерянные” файлы (правильные inode, на которые не ссылаются записи каталогов). Недопустимые или неразмещенные номера inode в записях каталогов.

Пятый вопрос

Как создаётся файловая система? mkfs - позволяет создать файловую систему Linux.

Шестой вопрос

Дайте характеристику командам для просмотра текстовых файлов. Cat - выводит содержимое файла на стандартное устройство вывода. Выполнение команды head выведет первые 10 строк текстового файла. Выполнение команды tail выведет последние 10 строк текстового файла. Команда tac - это тоже самое, что и cat, только отображает строки в обратном порядке. Для того, чтобы просмотреть огромный текстовый файл применяются команды для постраничного просмотра. Такие как more и less.

Седьмой вопрос

Приведите основные возможности команды cp в Linux. Cp – копирует или перемещает директорию, файлы.

Восьмой вопрос

1 Приведите основные возможности команды mv в Linux. Mv - переименовать или переместить файл или директорию

Девятый вопрос

Что такое права доступа? Как они могут быть изменены? Права доступа к файлу или каталогу можно изменить, воспользовавшись командой chmod. Сделать это может владелец файла (или каталога) или пользователь с правами администратора.